﻿#region MyJScript - LGPL Copyright (c) 2008 Lionel Laské
//
// This file is part of MyJScript.
//
// MyJScript is free software; you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation; either version 2.1 of the License, or
// (at your option) any later version.
//
// MyJScript is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with MyJScript; if not, write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
//
//================================================================================
#endregion

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using MyJScript.DLR;

using Microsoft.Scripting;
using Microsoft.Scripting.Hosting;
using Microsoft.Scripting.Runtime;

namespace MyJScript.Console
{
    /// <summary>
    /// MyJScript console.
    /// </summary>
    public class MJSConsole : ConsoleHost
    {
        /// <summary>
        /// Initialize script engine.
        /// </summary>
        protected override void Initialize()
        {
            base.Initialize();
            this.Options.ScriptEngine = Environment.GetEngine(typeof(MJSLanguageContext));
            Environment.LoadAssembly(typeof(string).Assembly);
        }

        /// <summary>
        /// Entry point.
        /// </summary>
        /// <param name="args">command-line arguments</param>
        /// <returns>error code</returns>
        [STAThread]
        static int Main(string[] args)
        {
            return new MJSConsole().Run(args);
        }
    }
}
